What's New in Version 11
Description
Welcome to Alpha Five Version 11! If you thought we added a ton of functionality in Versions 10 and 10.5 plus the Feature Packs, you may have to recalibrate your notion of what defines a "ton of functionality".
The good news is that all that new functionality vastly expands what you can accomplish with Alpha Five, improves your developer productivity, improves the appearance and polish of your applications, and increases their run-time speed. The bad news is that all that new functionality is also new to you, so you'll have to spend some time exploring, learning, and practicing.
Meanwhile, to go with the ton of new functionality, we've written a ton of documentation, developed a ton of samples, and recorded a ton of videos. After you've been through all that, you'll find a ton of helpful notes and links right in the development environment.
Overview
All the functionality listed below in the Contents section is a lot to go through, so let's organize it for you a bit.
Videos
Desktop
An improved Quick Report Genie and a new Layout Table report allow the easy generation of reports in HTML and Excel. This includes the ability to create Linked Reports, which are even more useful than subreports.
Xbasic is now more powerful. Among other improvements, it has support for the .NET Framework and a more powerful Class syntax that supports data hiding.
Xdialog has been improved, with the biggest changes being the ability to incorporate HTML, Tabbed UIs, and Page Layouts into Xdialog windows to make stunning looking dialogs.
We have integrated Charts and added a Chart API. You can create charts based on .NET Framework charting. You can use integrated charts as a Component that also runs on the desktop, in Reports, and on desktop Forms.
A new Excel API allows you to directly create Excel files from Xbasic. This facility is utilized by the new Layout Table report.
We now give you the ability to use more Web components on the desktop. You can use Tabbed UIs, Page Layouts, the new Dialog component, and several other components in Desktop applications, not just Grid components. See Web Components that run on the desktop V11.
We support Geographic databases in a portable way, and have added a Google Map component. You can link a Google Map to a row in a Grid, use it as a Geographic Search control for a Grid, and display the geographic and other information from many rows of a Grid on a Map Alternate View. All of this works on the desktop as well as the Web.
Web
Xbasic is now more powerful. Among other improvements, it has support for the .NET Framework and a more powerful Class syntax that supports data hiding.
The Application Server has been made faster and more robust, and the process of making it compatible with Microsoft IIS at the API level has begun.
We have a new, vastly improved Style Builder and new, attractive Web component styles that take full advantage of CSS (Cascading Style Sheets) 3.
We support Geographic databases in a portable way, and have added a Google Map component. You can link a Google Map to a row in a Grid, use it as a Geographic Search control for a Grid, and display the geographic and other information from many rows of a Grid on a Map Alternate View.
An improved Quick Report Genie and a new Layout Table report allow the easy generation of reports in HTML and Excel. This includes the ability to create Linked Reports, which are even more useful than subreports.
We have integrated Charts and added a Chart API. You can create charts based on .NET Framework charting. You can use integrated charts as a Component, in Reports, and on desktop Forms.
We have a powerful new high-performance Dialog Component that supports repeating sections and optional Genie-assisted data binding.
We have a Video Player Component for HTML 5 and YouTube videos, an HTML 5 Image Gallery Component and a Calendar component.
We have Custom and User-defined Components that allow anyone with HTML, JavaScript, and Xbasic skills to write a component within a pre-defined framework that can easily integrate with Grids, Tabbed UIs, and other Alpha Five Components.
Our components now support iPhones, iPads, some Android phones and tablets, and some other mobile hardware with HTML 5/CSS 3 web browsers. As of July 15, 2011, iPhones and iPads are fully tested; only a few Android phones and tablets with Android 2.2 and later have been tested; other devices will be tested later in the development cycle. In the case of the Grid, there is support for multiple named layouts, so that the designer can optimize the Grid's appearance for a PC, a smart phone, and a tablet separately as part of a single Grid definition. There is also support for various mobile device capabilities, such as touch interfaces and geolocation, with iOS devices fully tested and some late-model Android devices tested.
Contents
Road Map V11
Illustrated Overview V11
Illustrated Desktop Overview V11
Illustrated Web Overview V11
Breaking Changes V11
Active Scripting Internet Explorer 9 CSS3 V11
Xbasic - DIMMing Variables V11
Mobile Device Support V11
Components for Mobile Use V11
Grid Navigation - New Option - 'Fetch More Records' Button V11
Grid Scrolling V11
Grid Mobile Styles V11
Grid Named Layouts V11
Tabbed UI Component Mobile Devices V11
.NET Framework Support in Alpha Five V11
DotNet::AssemblyReference
DotNet::Services
CreateObject Method
CallStaticFunction Method
ConstructGenericTypeName Method
GetStaticProperty Method
SetStaticProperty Method
RegisterClass Method
RegisterAssembly Method
RegisterNamespace Method
GenerateWebServiceClientFromURL Method
GenerateWebServiceClientFromWSDL Method
Preloaded .NET Classes V11
Full list of preloaded .NET Classes V11
Writing Xbasic wrapper classes for .NET classes V11
DotNetPath Function
DotNet Examples V11
DotNet Example: Using System.Text.StringBuilder
DotNet Example: Using a Private Assembly
DotNet Example: Speech Synthesis
DotNet Example: Big Integers
DotNet Example: Complex Numbers
DotNet Example: Matrix Manipulation
DotNet Example: Image metadata class
DotNet Example: Digital Hash
DotNet Example: Serial IO
DotNet Example: Send an email
DotNet Example: Working with Enumerated Types
Generate Excel Spreadsheets Programmatically V11
Office::ExcelDocument
Office::Excel2003Document
Office::Spreadsheet
Office::Format
Office::Font
Office Enumerations
How to perform common spreadsheet operations
Office Example: Hello, World spreadsheet
Office Example: Simple Weekly sales spreadsheet
Office Example: Multiple spreadsheets
Office Example: Spreadsheet from SQL query
Office Example: Spreadsheet from DBF tables
Office Example: Spreadsheet with picture
Office Example: Update a spreadsheet
Xbasic with Classes V11
Xbasic Class Syntax V11
Designing an Xbasic Class V11
Implementing an Xbasic Class V11
Testing and Using an Xbasic Class V11
Subclasses and Inheritance V11
Classes in Namespaces V11
Web Projects Control Panel Enhancements V11
Restore Component from Backup V11
Revised New Web Component Dialog V11
Web Application Repository V11
Work Queue V11
Application Global Variables Web Project Properties V11
Project Style Web Project Properties V11
Web Projects Control Panel - Recently Selected Projects Button V11
Web Projects Control Panel - Filter V11
Help Topics for Controls - Project Help Table V11
PDF Printing via Microsoft XPS Printer Driver Web Project Properties V11
Could not open OLE object cdintfex.document
Video Finder V11
New Web Components V11
Ajax Dialog and Data Binding V11
New Dialog Component V11
Simple Dialog Example V11
Saving Dialog Contents to a DBF V11
Saving Dialog Contents to a SQL Database V11
Sending Dialog Contents via Email V11
Parent-Child Dialog Example V11
Genie-Style Dialog Example V11
Genies for the UX Component
Server-side Action Scripting V11
Dialog Component Referencing Session Variables on the Client Side V11
Dialog Component Setting Values in Controls Optimizing for Setting a Large Number of Controls V11
Videos for New Dialog Component V11
Videos for Dialog Component - Managing Data in the Security Framework V11
Calendar Control in a Dialog Component V11
Slider Control in a Dialog Component V11
Power Search for Grid using a Dialog Component V11
Live Linked Embedded Grids in a Dialog V11
Record Navigation and Dialog Search V11
Dialog Component Power Search for Embedded Report V11
Dialog Component Advanced Tab Control V11
Dialog Component Tree View Easier to Associate Container Ends with their Start Entry V11
Google Map Component V11
Calendar Component V11
Video Player Component V11
Image Gallery Component V11
Chart Component V11
Report Component V11
Custom Components V11
Using the Custom Component JavaScript Class V11
Creating a Custom Component V11
Custom Component Sections and Events V11
Sharing and Using a Custom Component V11
User-defined Components V11
When to turn a Custom Component into a User-defined Component V11
Creating a User-defined Component V11
Creating a Property Grid for a User-defined Component V11
Sharing and Using a User-defined Component V11
Web Grid Enhancements V11
Web Grid Alternate Views V11
Google Map Alternate View V11
Chart Alternate View V11
Custom Alternate View V11
Grid Component - New Server Side Grid Events for stored procedures V11
Grid Components - Stored Procedures - Multiple Resultsets V11
Improved Web Grid Code Editing V11
Web Grid Miscellaneous Enhancements V11
Date and Time Fields - Date Picker V11
Row Expander - 'Auto Refresh On Expand' Property V11
Row Expander - Row Expand Method V11
Making the Grid Behave Like an Accordion V11
Row Expander and Linked Content Section V11
HTML Memo Editor - Popup Mode V11
Validate Grid Data V11
Lookups and Detail View - Window Position V11
Detail View - New Options for Detail View Position V11
Control Javascript V11
Checkboxes and RadioButtons - Columnar Layout V11
Grid Components - Native SQL V11
Grid Component - Edit-combo Box V11
Linked Javascript Files - Load Sequencing Issues - object.loadJavascriptFile Method V11
Search Highlighting V11
Grid Component - New Property - Maximum Number of Records Per Page V11
Grid Component - New Property - Rows of Data when Search Active V11
Grid.Object.refresh Method V11
Action Javascript Improvements V11
Grid - Fixed Column Widths V11
Geography Fields in the Grid - Searching V11
Grid Component - Dynamic Images - Image Sequences V11
Grid Component Showing SQL Query Statements V11
Grid Component Row Expander Animation V11
Grid Component Tab and Accordion Controls Animation V11
Grid Component Detail View Animation V11
Grid Component Search Part Save and Load Search Criteria V11
Grid Component Summary Fields Styling Summary Values V11
Grid Component Builder Setting Default Properties V11
Grid Component Search Part Initial Value V11
Grid Component Search Part Query By Form Operator Exceptions V11
Grid Component Client Side Events CanRowExpand Event V11
Grid Component Form Layout Snaking Columns V11
Dynamic Filtering Lookup Grids, Edit-combo Boxes, Auto-suggest Controls V11
How to Dynamically Set the Client-side Mask V11
How to Dynamically Change the Number of New Record Rows Shown in a Grid V11
Grid, Dialog and Custom Components Storing state information V11
Grid and Dialog Component Date Picker V11
Grid and Dialog Component Time Picker V11
Grid and Dialog Component Edit-Combo Control Filter Method for Required Selection property V11
Grid and Dialog Component Auto-suggest Contains V11
Grid and Dialog Component Edit-combo and Auto-suggest Control Multiple Values V11
Grid and Dialog Components Smart Fields Container Inline Style Property V11
Grid and Dialog Component Client-side Show-Hide Expressions Animation V11
Grid and Dialog Control activateControlContainer Method V11
Grid Component Tree Control Navigator Refresh V11
Grid Component Client Side Events afterRowPopulate event V11
Grid Component Client-side Events 'canNewRowsShow' event V11
Grid Component Client-side Events 'canRowSwitchToEditable' event New Parameter 'newRecordRowVisible' V11
How a Grid in a Tabbed UI Pane can invoke Methods on a Grid in another Tabbed UI Pane V11
Grid Component Group Breaks V11
Method for Grid, Dialog and Custom Component to Close Window in which Component is Hosted V11
How to Call a Dialog Component from a Grid and Pass Information from the Dialog Back to the Grid V11
Grid Search Part Free Form Search Layou V11
Grid Search Part Use Icons for 'Search' and 'Clear Search' buttons V11
Grid CurrentGridFilter and CurrentGridOrder Special Functions V11
Grid Component OnGridInitialize and onGridExecute Methods e.ajaxCallback Property V11
Grid Component Linked Grids Getting a Pointer to a Linked Grid V11
Grid and Dialog Component - Background Grid Lines V11
Grid Component Tree Control Navigator Custom Query Option V11
Open Grid in Pop-up Window Center Internet Explorer Form Style Grid V11
Grid Checkbox Select Column V11
Power Search of a Grid V11
Grid Component Dialog Component Data Binding SQL Tables V11
Grid and Dialog Component Control Label V11
Grid Component Row Expander Server side Show Hide Expression V11
Web Grid Videos V11
Tabbed UI and Page Layout Component Enhancements V11
Tabbed UI and Page Layout Component Builders V11
Tabbed UI and Page Layout Component Animation V11
Tabbed UI and Page Layout Builder - Working Preview V11
TabbedUI and PageLayout Components - Hosting new Component Types V11
Dynamically Recalculating the Page Layout, Tabbed UI and Dialog Component at Run-time V11
Tabbed UI Component Tree Control V11
Tabbed UI Home Page Auto-refresh Property V11
Tabbed UI Bubble Help V11
Tabbed UI Component Collapse Button Pane V11
TabbedUI Object Method to Select the Active Pane V11
Tabbed UI Auto-launch on Startup V11
Tabbed UI Component Hide Tab Buttons Property V11
PageLayout Components - Nesting V11
Tabbed UI Component Auto-Launch on Startup Initial Pane Focus V11
JQuery Support V11
Grid and Dialog Component jQuery Date Picker V11
Charts V11
Chart Control V11
Chart API V11
Chart Styles V11
New in Xdialog V11
HtmlHost Xdialog command
HtmlHost Example 1: Hosting Xdialog Controls
HtmlHost Example 2: Vertical Sizer
HtmlHost Example 3: Horizontal Sizer
HtmlHost Example 4: Creating htmlhost with Horizontal and Vertical Sizers
HtmlHost Example 5: Dynamically styled Html (a5:style tag)
Support for Hotspots on Images V11
Xbasic methods for the HTML and HTMLHOST Xdialog Commands V11
Tabbed UI and Page Layout Components in Xdialog Windows V11
Xdialog Simplified ListView Syntax Fonts V11
Using Charts in Xdialogs V11
Xdialog Tree Control Custom Colors for Tree Items V11
New on the Desktop V11
Quick Import Form or Browse V11
Longer DBF Records V11
Using Charts on Forms V11
Web Components that run on the desktop V11
Form Editor Control Library V11
View Settings Browse Vertical Scroll Bar V11
New Xbasic Functions and Methods V11
TextToSpeech Function
hmac_hash Function
A5ws_GetCurrentUser Function
a5ws_RevalidatePassword Function
a5ws_ChangeLoggedInUserPassword Function
a5ws_randompassword Function
replace_placeholders_with_argument_values Function
replace_arguments_in_string Function
geocode_address Function
OVER_QUERY_LIMIT error
UI_HOTSPOT_FROM_MAP Function
ui_hotspot_get Function
Table.SQL_Open Method
Table.SQL_Reset Method
find_duplicate_lines Function
a5w_SaveToWebAppRepository Function
a5w_GetFromWebAppRepository Function
a5w_enumerateWebAppRepository Function
a5w_DeleteFromWebAppRepository Function
email_send_noprofile Function
a5_getWebProjectProperties Function
a5w_SaveToWorkQueue Function
a5w_ReadFromWorkQueue Function
a5w_UpdateWorkQueue Function
a5w_DeleteFromWorkQueue Function
ComponentGuid Function
a5_chart_data_url_generate Function
a5wcb_createDialogUsingXbasic Function
a5_genericTableCRUDAction Function
a5_exif_getLatLon Function
a5_exif_getIphoneFormattedData Function
THREAD.traceMapping Property
argVal Function
XPS_to_PDF Function
a5ws_GetGroupsDialog Function
variable_exists Function
*variable_to_script Function
*html_to_text Function
*if_error Function
html_stritran Function
html_strtran Function
a5_json_extractvalues Function
a5_JSON_PopulateArray Function
a5_mergeDataIntoTemplate Function
*parent_report_pagecount Function
js_escape Function
js_unescape Function
a5_html_label Function
template_to_expression Function
international_months Function
international_days_of_week Function
New JavaScript Methods V11
New in Reporting V11
The Quick Report Genie V11
Layout Table Reports V11
Converting a Quick Report to a Layout Table Report V11
Editing a Layout Table Report V11
Using a Layout Table Report V11
Layout Table Report Example: Customer List
Linked Reports V11
Embedding Charts in Reports V11
New CSS Style Builder V11
Server Enhancements V11
Server Programming Changes V11
Application Server Functionality Changes for V11
Storing Files In Sessions V11
Replacing Response.Add_Cookie in V11
Replacing Response.Add_Header in V11
New Security Setting Server cache lifetime V11
How to make User-Defined Functions Available to a Web Application V11
How to run two server instances on the same hostname
Application Server - Internet Explorer - Adobe Acrobat - PDF Files V11
Feature Packs Incorporated into V11
Working with Version Control V11
Geographic Databases V11
Changes to SQL Objects for Geometry V11
Portable SQL Functions for Geographies V11
Common Geography Database Tasks V11
Database-specific Geography Tasks V11
DB2-specific Geography Tasks V11
MySQL-specific Geography Tasks V11
Oracle-specific Geography Tasks V11
PostgreSQL-specific Geography Tasks V11
SQL Server-specific Geography Tasks V11
SQL Geography Examples V11
How to bulk geocode addresses in a database V11
Working with SqlTypes V11
SQL Database Snapshots V11
SQL::DatabaseSnapshot Example: Selected Tables
SQL::TableSnapshot Example: A Single Table
SQL::TableSnapshot Example: Scripting the Load
SQL::DatabaseSnapshot Object
SQL::TableSnapshot Object
SQL::RowSnapshot Object
SQL::ColumnValue Object
SQL::DatabaseSnapshot Event Scripts and Snapshot Functions
Miscellaneous Improvements V11
AlphaDAO MySQL Transactions V11
AlphaDAO New ResultSet StreamingMode Property V11
AlphaDAO - ListTables and ListTablesWithTypes Methods V11
SQL Server connection string dialog help V11
Scope_Identity in SQL Server with nested and INSTEAD OF triggers
Oracle Client Installation
Ajax Windows V11
User-defined Error Codes V11
Search Scripts and Functions Command V11
Wiki Search Assistant
Navigation Component - On Initialize Javascript Property V11
Navigation System Component Server side Show Hide Expression V11
SQL::Arguments Object Array V11